<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
<ui:composition template="/layout.xhtml">
	<ui:define name="corpo">
		<p:panel header="Lista de Compatibilidade: Córnea">

			<h:form id="formCRUD">

				<p:toolbar>
					<p:toolbarGroup align="left">
						<p:commandButton value="Gerar Lista de Compatibilidade" update=":formLista"
							actionListener="#{listaDeCompatibilidadeCorneaMB.geraLista}" oncomplete="dlg2.show()"/>
						<p:commandButton value="Limpar" update=":formLista, :formCRUD, :frmDataTable, :formDLG"
							actionListener="#{listaDeCompatibilidadeCorneaMB.limpar}"/>
					</p:toolbarGroup>
				</p:toolbar>

				<h:panelGrid columns="3">

					<p:panelGrid columns="4" columnClasses="labelFields, dataFields" style="width:700px">
						<f:facet name="header">
							Dados do Doador
						</f:facet>

						<p:outputLabel for="idade" value="Idade" />
						<p:inputText id="idade" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.doador.idade}"/>

						<p:outputLabel for="tipoSanguineo" value="Tipo Sanguíneo" />
						<p:inputText id="tipoSanguineo" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.doador.tipoSanguineo}"/>

						<p:outputLabel for="peso" value="Peso" />
						<p:inputText id="peso" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.doador.peso}"/>

						<p:outputLabel for="altura" value="Altura" />
						<p:inputText id="altura" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.doador.altura}"/>

						<p:outputLabel for="dataInternacao" value="Data da Internação" />
						<p:calendar id="dataInternacao" disabled="true"  value="#{listaDeCompatibilidadeCorneaMB.cornea.doador.dataInternacao.time}"/>

						<p:outputLabel for="causaObito" value="Causa do Óbito" />
						<p:inputText id="causaObito" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.doador.causaObito}"/>

					</p:panelGrid>
					
						<p:panelGrid columns="2" columnClasses="labelFields, dataFields">
							<f:facet name="header">
								Dados da Córnea
							</f:facet>
							<h:outputText value="Tipo"/>
							<p:inputText id="tipoCorner" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.tipo}"/>
							
							<h:outputText value="Data de Retirada"/>
							<p:calendar id="dataRetirada" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.dataRetirada.time}"/>
							
							<h:outputText value="Status"/>
							<p:inputText id="statusCornea" disabled="true" value="#{listaDeCompatibilidadeCorneaMB.cornea.status}"/>
						</p:panelGrid>
					
						<p:commandButton id="btnExames"  value="Exames" onclick="dlg1.show()" />
				</h:panelGrid>
			</h:form>
		</p:panel>
		<h:form id="frmDataTable">
			<p:spacer height="15" />
			<p:dataTable var="cornea"
				value="#{listaDeCompatibilidadeCorneaMB.ldm}" paginator="true"
				rows="5"
				paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
				rowsPerPageTemplate="5,10,15" selectionMode="single"
				selection="#{listaDeCompatibilidadeCorneaMB.selectedCornea}"
				id="corneaTable" lazy="true"
				emptyMessage="Não há córnea cadastrada.">
				<f:facet name="header">
					<h:outputText value="Banco de Córneas" style="aling: center" />
				</f:facet>

				<p:ajax event="rowSelect" update=":formCRUD, :formDLG" />

				<p:column headerText="ID" sortBy="#{cornea.id}"
					filterBy="#{cornea.id}" >
					<h:outputText value="#{cornea.id}" />
				</p:column>

				<p:column headerText="Tipo" sortBy="#{cornea.tipo}"
					filterBy="#{cornea.tipo}" filterMatchMode="startsWith">
					<h:outputText value="#{cornea.tipo}" />
				</p:column>

				<p:column headerText="Status" sortBy="#{cornea.status}"
					filterBy="#{cornea.status}" filterMatchMode="startsWith">
					<h:outputText value="#{cornea.status}" />
				</p:column>
			</p:dataTable>
		</h:form>

		<p:dialog widgetVar="dlg1" >
			<f:facet name="header">
				<h:outputText value="Exames do Doador" style="aling: center" />
			</f:facet>
			
		 	<h:form id="formDLG">
		 		<h:panelGrid columns="3">
		 			<p:dataTable var="examess"
						value="#{listaDeCompatibilidadeCorneaMB.exames}" 
						selectionMode="single"
						selection="#{listaDeCompatibilidadeCorneaMB.selectedExame}"
						rowKey="#{examess.id}"
						id="examesTable" 
						emptyMessage="Não há exame cadastrado.">
						
						<p:ajax event="rowSelect" update=":formDLG:atrList"/>
						
						<p:column headerText="Selecione um exame">
							<h:outputText value="#{examess.nomeExame}" />
						</p:column>
					</p:dataTable>
					
					<p:spacer width="30" />
					
					<p:dataList id="atrList" style="width:80px;" value="#{listaDeCompatibilidadeCorneaMB.atributos}" var="atr" itemType="disc">  
    					#{atr.nome} = #{atr.valor}  
					</p:dataList>
		 		</h:panelGrid>
		 	</h:form>
		</p:dialog>
		
		<p:dialog widgetVar="dlg2">
		 	<h:form id="formLista">
		 		<p:toolbar>
					<p:toolbarGroup align="left">
						<p:commandButton value="Notificar equipes" update=":formLista, :header"
							actionListener="#{listaDeCompatibilidadeCorneaMB.enviaEmail}"/>
					</p:toolbarGroup>
				</p:toolbar>
		 		<h:panelGrid columns="1">
		 			<p:panelGrid columns="4" columnClasses="labelFields, dataFields">
		 				<f:facet name="header">
							<h:outputText value="Dados da Córnea" style="aling: center" />
						</f:facet>
						<h:outputText value="ID"/>
						<p:inputText id="idC" value="#{listaDeCompatibilidadeCorneaMB.cornea.id}" disabled="true"/>
						
		 				<h:outputText value="Tipo"/>
						<p:inputText id="tipoC" value="#{listaDeCompatibilidadeCorneaMB.cornea.tipo}" disabled="true"/>
						
						<h:outputText value="Data de Retirada"/>
						<p:calendar id="dataRet" value="#{listaDeCompatibilidadeCorneaMB.cornea.dataRetirada.time}" disabled="true"/>
							
						<h:outputText value="Status"/>
						<p:inputText id="statusC" value="#{listaDeCompatibilidadeCorneaMB.cornea.status}" disabled="true"/>
		 				
		 			</p:panelGrid>
					
					<p:spacer width="10" />

					<p:dataTable var="recep"
						value="#{listaDeCompatibilidadeCorneaMB.ldmReceptor}" paginator="true"
						rows="10"
						paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
						rowsPerPageTemplate="5,10,15,20" 
						id="receptorTable" lazy="true"
						emptyMessage="Não há córnea cadastrada." >
						<f:facet name="header">
							<h:outputText value="Lista de Receptores Compatíveis" style="aling: center" />
						</f:facet>

						<p:column headerText="ID">
							<h:outputText value="#{recep.id}" />
						</p:column>

						<p:column headerText="RGCT">
							<h:outputText value="#{recep.RGCT}" />
						</p:column>

						<p:column headerText="Diagnóstico" >
							<h:outputText value="#{recep.diagnostico}" />
						</p:column>
						
						<p:column headerText="Data de Inscrição" >
							<h:outputText value="#{recep.dataInscricao.time}" >
								<f:convertDateTime pattern="dd/MM/yyyy" /> 
							</h:outputText>
						</p:column>
						
						<p:column headerText="Status" >
							<h:outputText value="#{recep.status}" />
						</p:column>
					</p:dataTable>
				</h:panelGrid>
		 	</h:form>
		</p:dialog>
	</ui:define>
</ui:composition>
</html>